home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 June / EnigmA AMIGA RUN 19 (1997)(G.R. Edizioni)(IT)[!][issue 1997-06][EAR-CD III].iso / earkit / useful / hsc / src_docs / features / prefs.hsc < prev    next >
Text File  |  1996-12-10  |  5KB  |  124 lines

  1. <WEBPAGE chapter="hsc - Features" title="Syntax definition"
  2.          PREV="rplcent.html" NEXT="rplcent.html">
  3.  
  4. <P>Everything <hsc> knows about html, it retrieves from a
  5. file named <hsc.prefs> at startup. This file contains
  6. information about all tags, entities and icon entites.
  7. Additionally, some <A HREF="spcattr.html">special
  8. attributes</A> are set up there also.</P>
  9.  
  10. <P>The main advantage of this concept is that it's rather
  11. easy to add new syntax elements. For this task, the hsc tags
  12. <ln_deftag>, <ln_defent> and <ln_deficon> can be used.</P>
  13.  
  14. <A NAME="default"><H2>Default preferences</H2></A>
  15.  
  16. <P>The <hsc.prefs> coming with this distribution should
  17. support most elements needed for everyday use. This includes
  18. full html-2.0-support, tables, figures, client-side
  19. image-maps and several elements only used by special
  20. browsers.</P>
  21.  
  22. <P>But several weeks ago, something terrible has happened:
  23. html-0.32 has been released. From my point of view, this
  24. nothing more than the proof that those browser-developers,
  25. who clutter their software with loads of jerk-tags are too
  26. thumb to write a DTD (Document Type Definition) themselves
  27. and that the only reason that w3c still exists is that
  28. someone has to write those DTDs to pretend that there is a
  29. concept behind html.</P>
  30.  
  31. <P>Obvously, nearly everyone spitts on html-0.32, and you can not take
  32. this DTD serious. Even worse, there is no one else you can take serious
  33. for html. Therefor, the
  34. current <hsc.prefs> is in a bit chaotic state and a mixture
  35. of html-2.0, html-3.0-draft and html-0.32. I am really to lazy to
  36. keep track with all this shit..</P>
  37.  
  38. <P>Anyway, this shouldn't cause real problems for you, except maybe some
  39. wrong jerk-related warnings.</P>
  40.  
  41. <A NAME="search"><H2>Searching for the preferences</H2></A>
  42.  
  43. <hsc> looks at several places when trying to open <hsc.prefs>:
  44. <UL>
  45.     <LI>the current directory
  46.     <LI>the directory specified in the environment variable <env_hscpath> 
  47.     <LI>the directory <CODE>PROGDIR:</CODE>, which is automatically
  48.         assigned to the same directory where the <hsc> binary resides
  49.         when <hsc> is invoked
  50. </UL>
  51.  
  52. <P>If it is unable to find <hsc.prefs> anywhere, it will abort with
  53. an error message.</P>
  54.  
  55. <P>If you want to find out where <hsc> has read <hsc.prefs> from,
  56. you can use <KBD><A HREF=":options.html#status">STATUS=VERBOSE</A></KBD>
  57. when invoking <hsc>. This will display the preferences used.</P>
  58.  
  59. <A NAME="tags"><H2>Special tags to modify syntax-definition</H2></A>
  60.  
  61. <$macro SPCTAG NAME:string/r TITLE:string/r>
  62. <A NAME=(name)><H3><(title)></H3></A>
  63. </$macro>
  64.  
  65. All the tags below should be used within <hsc.prefs> only.
  66. <SPCTAG NAME="defent" TITLE="Define an entity">
  67.  
  68. <P>This tag defines
  69. a new entity. The (required) attribute <CODE>NAME</CODE> declares the
  70. name of the entity, <CODE>RPLC</CODE> the character that should be
  71. replaced by this entity if found in the hsc-source and <CODE>NUM</CODE>
  72. is the numeric representation of this entity.</P>
  73.  
  74. <STRONG>Example:</STRONG> <TG>$defent NAME="uuml" RPLC="ü" NUM="252"</TG>
  75.  
  76. <SPCTAG NAME="deficon" TITLE="Define icon-entity">
  77.  
  78. <P>This tag defines
  79. a new icon-entity. The only (required) attribute is <CODE>NAME</CODE>
  80. which declares the name of the icon.</P>
  81.  
  82. <STRONG>Example:</STRONG> <TG>$deficon NAME="mail"</TG>
  83.  
  84. <SPCTAG NAME="deftag" TITLE="Define a tag">
  85.  
  86. <P>This tag defines
  87. a new tag, and is used quite similar to <ln_macro>, exept that a
  88. tag-definition requires no macro-text and end-tag to be followed.</P>
  89.  
  90. <STRONG>Example:</STRONG> <TG>$deftag IMG SRC:uri/x/z/r ALT:string ALIGN:enum("top|bottom|middle") ISMAP:bool WIDTH:string HEIGHT:string</TG>
  91.  
  92. <P>To fully understand the above line, you might also want to read the sections
  93. about <A HREF=":macro/attrib.html">attributes</A> 
  94. and <A HREF=":macro/flag.html">options</A> for tags and macros.</P>
  95.  
  96. <P>For those, who are not smart enough or simply to lazy, here are some
  97. simple examples, which should also work somehow, though some features of
  98. <hsc> might not work:</P>
  99.  
  100. <$source PRE>
  101. <$deftag BODY /CLOSE BGCOLOR:string>
  102. <$deftag IMG SRC:uri ALT:string ALIGN:string ISMAP:bool>
  103. </$source>
  104.  
  105. <H2>Problems</H2>
  106.  
  107. <P>There are also some disadvantages of this concept: reading
  108. <hsc.prefs> every time on startup uses an awful lot of time.
  109. Usually, processing your main data takes shorter than
  110. reading the preferences. You can reduce this time, if you
  111. create your own <hsc.prefs> with all tags and entities you
  112. don't need removed. But I recommend to avoid this because
  113. you might have to edit your preferences again with the next
  114. update of <hsc>, if any new features have been added.</P>
  115.  
  116. <P>You also can't use the DTDs. This is
  117. because DTDs don't contain several information needed by <hsc>,
  118. for example entities are not defined within he DTD. Also several
  119. features of <hsc> like evaluation of image-sizes or stripping of
  120. external URIs can only be controlled with <hsc.prefs>.
  121. </P>
  122.  
  123. </WEBPAGE>
  124.